• 検索結果がありません。

Oracle Diagnostic Loggingの使用

6-2 Oracle HTTP Serverスタンドアロン・デプロイの管理Apache 2.0ベース

Oracle Diagnostic Logging の使用 の使用 の使用 の使用

Oracleでは、診断メッセージの報告のために新しい方法を提供しています。この新しい方法は

Oracle Diagnostic Logging(ODL)と呼ばれ、診断メッセージとログ・ファイルのための共通

形式と、Oracle Application Server全体の様々なコンポーネントからの全診断メッセージを相

互に関係付ける仕組みを提供しています。ODLを使用して、各コンポーネントはそのコンポー ネント専用のプライベート・ローカル・リポジトリにそれぞれのメッセージをロギングします。

LogLoaderというツールが、各リポジトリからメッセージを収集して共通リポジトリにロード します。メッセージは、この共通リポジトリで1つのログ・ストリームとして表示するか、

様々な方法で分析することができます。

Oracle Application Serverの診断ログ・ファイルは、テキスト・エディタを使用して表示でき

ます。

ODLについては、次の項で詳しく説明します。

概要

Oracle HTTP Serverの構成

概要 概要 概要 概要

Oracle HTTP Serverでは、ログ・メッセージを生成する形式を選択できます。従来型の

Apacheメッセージ形式でログ・メッセージを生成するか、ODLを使用してログ・メッセージ

の生成を続行できます。ODLは、ログ・メッセージ生成用の新しいOracle標準に準拠してい ます。

Oracle HTTP Server の構成 の構成 の構成 の構成

Oracle HTTP ServerでODLを使用可能にするには、httpd.confファイルに次のディレク

ティブを入力します。

Oracle Diagnostic Loggingの使用

サーバー・ログの構成と使用 6-3

OraLogSeverity module_name <msg_type>{:msg_level]

メッセージ重大度を設定できます。このディレクティブで指定されるメッセージ重大度は、必 要最低限のメッセージ重大度として解釈され、この重大度レベル以上のすべてのメッセージは ロギングされます。

OraLogSeverityは、複数回指定できます。グローバル(module_nameなし)に指定した 後、モジュール固有のログ重大度が必要なモジュール1つにつき1回ずつ指定できます。

このディレクティブは、OraLogModeがoracleに設定されているときにのみ使用されます。こ のディレクティブは、LogLevelディレクティブのかわりに使用できますが、必須ではありま せん。OraLogSeverityが指定され、OraLogModeがoracleに設定されている場合、

LogLevelは無視されます。

module_name この引数は、モジュール構造内に示されるモジュールの内部名です。

<IfModule>ディレクティブもこの内部名を使用します。モジュール構造は、モジュール構造 を定義するファイルの_FILE_マクロの値から(パス接頭辞を削除して)モジュール名を導出 します。モジュール名を指定しない場合は、OraLogSeverityディレクティブがグローバルに 適用されます。

モジュール名を指定した場合は、指定されたモジュールで発生した、すべてのメッセージのグ ローバル・ディレクティブの値をこのディレクティブがオーバーライドします。ロードされな いモジュールの名前を指定すると、エラーが発生します。

msg_type メッセージ・タイプは大文字でも小文字でも指定できますが、メッセージ出力は大文 字で表示されます。このパラメータには、次の値のいずれかを指定する必要があります。

INTERNAL_ERROR

ERROR

WARNING

NOTIFICATION

TRACE

msg_level このパラメータは、範囲が1~32の整数に指定する必要があります。1は最高重大

度、32は最低重大度を示します。レベル1を使用すると、レベル32よりメッセージが少なく なります。

表6-1に、OraLogSeverityの例をいくつか示します。

表表

表表6-1 OraLogSeverityの例の例の例の例

OraLogSeverityの例の例の例の例 処理処理処理処理 OraLogSeverity

INTERNAL_ERROR:10

レベル1~10の内部エラー(INTERNAL_ERROR)タイプ のメッセージをすべてロギングします。

OraLogSeverity WARNING:7 全レベルの内部エラー(INTERNAL_ERROR)タイプのメッ セージをすべてロギングします。

全レベルのエラー(ERROR)タイプのメッセージをすべてロ ギングします。

レベル1~7の警告(WARNING)タイプのメッセージをす

べてロギングします。

Oracle Diagnostic Loggingの使用

6-4 Oracle HTTP Serverスタンドアロン・デプロイの管理Apache 2.0ベース デフォルト

デフォルト デフォルト

デフォルト メッセージ・レベルを指定しない場合、レベルはデフォルトの最低重大度になりま す。ディレクティブ全体を指定しない場合、グローバルなApacheのLogLevelディレクティ ブの値が使用され、表6-2に示されるように、これに対応するOracleメッセージ・タイプおよ び対応する範囲内の最低レベル(最高値)に変換されます。

OraLogDir <bus stop dir>

すべてのログ・ファイルを含むディレクトリへのパスを指定します。このディレクトリは存在 している必要があります。

デフォルト デフォルト デフォルト デフォルト:

UNIXの場合: ORACLE_HOME/Apache/Apache/logs/oracle

Windowsの場合: ORACLE_HOME¥Apache¥Apache¥logs¥oracle

OraLogSeverity WARNING OraLogSeverity mod_oc4j.c NOTIFICATION:4

メッセージ・ソースがmod_oc4jの場合:

全レベルの内部エラー(INTERNAL_ERROR)タイプの メッセージをすべてロギングします。

全レベルのエラー(ERROR)タイプのメッセージをすべ てロギングします。

全レベルの警告(WARNING)タイプのメッセージをす べてロギングします。

レベル1~4の通知(NOTIFICATION)タイプのメッ セージをすべてロギングします。

その他のソースからのメッセージの場合:

全レベルの内部エラー(INTERNAL_ERROR)タイプの メッセージをすべてロギングします。

全レベルのエラー(ERROR)タイプのメッセージをすべ てロギングします。

全レベルの警告(WARNING)タイプのメッセージをす べてロギングします。

表 表 表

6-2 Apacheログ・レベルとログ・レベルとログ・レベルとログ・レベルとOracleメッセージ・タイプの対応メッセージ・タイプの対応メッセージ・タイプの対応メッセージ・タイプの対応

Apacheログ・レベルログ・レベルログ・レベルログ・レベル Oracleメッセージ・タイプメッセージ・タイプメッセージ・タイプメッセージ・タイプ

emerg INTERNAL_ERROR:16

alert INTERNAL_ERROR:32

crit ERROR:16

error ERROR:32

warn WARNING:32

notice NOTIFICATION:16

info NOTIFICATION:32

debug TRACE:32

関連項目 関連項目 関連項目

関連項目: 6-5ページの「ログ・レベルの指定」

表表

表表6-1 OraLogSeverityの例(続き)の例(続き)の例(続き)の例(続き)

OraLogSeverityの例の例の例の例 処理処理処理処理

ログ・ファイルの指定

サーバー・ログの構成と使用 6-5

ログ・レベルの指定 ログ・レベルの指定 ログ・レベルの指定 ログ・レベルの指定

表6-3に、様々なロギング・レベル、説明およびメッセージの例を示します。

ログ・ファイルの指定 ログ・ファイルの指定 ログ・ファイルの指定 ログ・ファイルの指定

この項では、次のログ・ファイルの機能と位置について説明します。

アクセス・ログ

カスタム・ログ

エラー・ログ

PIDファイル

パイプされたログ

リライト・ログ

スクリプト・ログ

SSLログ

送信ログ

中程度にビジーなサーバー上では、既存のログを移動または削除して、ログ・ファイルを定期 的に切り替えることが重要です。この場合、新規ログ・ファイルがオープンされるように、ロ グ・ファイルを移動または削除した後にサーバーを再起動する必要があります。

表表

表表6-3 ロギング・レベルロギング・レベルロギング・レベルロギング・レベル ロギング・レベル ロギング・レベル ロギング・レベル

ロギング・レベル 説明説明説明説明 メッセージの例メッセージの例メッセージの例メッセージの例

emerg 緊急 - システムは使用不可です。 "Child cannot open lock file.Exiting."

alert ただちに処理する必要があります。 "getpwuid: couldn't determine user name from uid"

crit クリティカル条件。 "socket: Failed to get a socket, exiting child"

error エラー条件。 "Premature end of script headers"

warn 警告条件。 "child process 1234 did not exit, sending another SIGHUP"

notice 正常だが重要な条件。 "httpd: caught SIGBUS, attempting to dump core in..."

info 情報メッセージ。 "Server seems busy, (you may need to increase StartServers, or

Min/MaxSpareServers)..."

debug デバッグ・レベルのメッセージ。 "Opening config file..."

注意 注意 注意

注意: LogLevelディレクティブは、OraLogModeがoracleで、

OraLogSeverityが設定されている場合、省略できます。

関連資料 関連資料 関連資料

関連資料: Apache Serverマニュアルの「Log Rotation」

ログ・ファイルの指定

6-6 Oracle HTTP Serverスタンドアロン・デプロイの管理Apache 2.0ベース

アクセス・ログ アクセス・ログ アクセス・ログ アクセス・ログ

サーバーによって処理されたすべてのリクエストが記録されます。アクセス・ログの位置と内 容は、カスタム・ログ・ディレクティブで制御します。LogFormatディレクティブを使用する と、ログの内容を簡単に選択できます。

LogFormat の指定 の指定 の指定 の指定

LogFormatを使用して、ログ・ファイルに含める情報と書込み方法を指定します。デフォルト

の書式はCommon Log Format(CLF)です。CLF書式はhost ident authuser date

request status bytesです。

host: クライアントのドメイン名またはIPアドレス

ident: IdentityCheckが有効化されており、クライアント・マシンでidentdが実行さ れている場合のクライアント識別情報

authuser: 許可されたユーザーのユーザーID

date: <day/month/year:hour:minute:second>書式のリクエスト日時

request: 二重引用符で囲まれたクライアントからのリクエスト行

status: クライアントに戻される3桁のステータス・コード

bytes: ヘッダーを除いた、クライアントに戻されるバイト数

カスタム・ログ カスタム・ログ カスタム・ログ カスタム・ログ

CustomLogディレクティブは、サーバーへのリクエストをロギングするために使用されます。

ログ書式が指定され、環境変数を使用して、リクエストの特性に応じてオプションでロギング できます。

エラー・ログ エラー・ログ エラー・ログ エラー・ログ

診断情報を送信し、エラー・メッセージをログ・ファイルに記録します。デフォルトでは、こ のファイルは次の場所にあります。

UNIXの場合: ORACLE_HOME/ohs/logs/error_log

Windowsの場合: ORACLE_HOME¥ohs¥logs¥error_log

ファイル名は、ErrorLogディレクティブを使用して設定できます。

関連資料関連資料

関連資料関連資料: Apache Serverマニュアルの「Access Log」

関連資料関連資料

関連資料関連資料: Apache Serverマニュアルの「CustomLog directive」

関連資料 関連資料 関連資料

関連資料: Apache Serverマニュアルの「ErrorLog directive」